﻿Imports System.Data
Imports System.Data.Odbc
Imports WSEntidades
Imports Utilerias
Imports MySql.Data.MySqlClient
Public Class ParamEmiFact
    Public Shared Function Build(ByVal dr As MySqlDataReader) As ParametrosEmisionBE
        Dim tmpParamEmi As ParametrosEmisionBE = New ParametrosEmisionBE()
        Try
            With tmpParamEmi
                '.IdParamEmi = convertDTFromDb.convertInt32(dr.Item("IdParamEmi"))
                Select Case convertDTFromDb.ConvertString(dr.Item("Descuentos"))
                    Case "D"
                        .Descuentos = ParametrosEmisionBE.DescuentosParam.Documento
                    Case "P"
                        .Descuentos = ParametrosEmisionBE.DescuentosParam.Partida
                    Case "C"
                        .Descuentos = ParametrosEmisionBE.DescuentosParam.Cliente
                    Case "N"
                        .Descuentos = ParametrosEmisionBE.DescuentosParam.No_Aplica
                End Select
                Select Case convertDTFromDb.ConvertString(dr.Item("InfoAduanera"))
                    Case "D"
                        .InfoAduanera = ParametrosEmisionBE.InfoAduaneraParam.Documento
                    Case "P"
                        .InfoAduanera = ParametrosEmisionBE.InfoAduaneraParam.Partida
                    Case "N"
                        .InfoAduanera = ParametrosEmisionBE.InfoAduaneraParam.No_Incluye
                End Select
                Select Case convertDTFromDb.ConvertString(dr.Item("NumSerie"))
                    Case "R"
                        .NumSerie = ParametrosEmisionBE.NumSerieParam.Requeridos
                    Case "O"
                        .NumSerie = ParametrosEmisionBE.NumSerieParam.Opcionales
                    Case "N"
                        .NumSerie = ParametrosEmisionBE.NumSerieParam.No_Incluye
                End Select
                .DecimalesEnCantidades = convertDTFromDb.convertInt32(dr.Item("DecCantidades"))
                .DecimalesEnImpuestos = convertDTFromDb.convertInt32(dr.Item("DecImpuestos"))
                .DecimalesEnPrecios = convertDTFromDb.convertInt32(dr.Item("DecPrecios"))
                .DecimalesEnTotales = convertDTFromDb.convertInt32(dr.Item("DecTotales"))
                .UsuarioTimbrado = convertDTFromDb.ConvertString(dr.Item("UsuarioTim"))
                .PassTimbrado = RijndaelSimple.desencriptaDefault(convertDTFromDb.ConvertString(dr.Item("PassTim")))
                .EnviaComprobantesAutomaticamente = convertDTFromDb.ConvertBoolean(dr.Item("EnviaCompAuto"))
                .UsaMailPropio = convertDTFromDb.ConvertBoolean(dr.Item("UsaMailPropio"))
                .CorreoElectronico = convertDTFromDb.ConvertString(dr.Item("CorreoElectronico"))
                .PassMail = RijndaelSimple.desencriptaDefault(convertDTFromDb.ConvertString(dr.Item("Pass")))
                .SMTP = convertDTFromDb.ConvertString(dr.Item("SMTP"))
                .Puerto = convertDTFromDb.convertInt32(dr.Item("Puerto"))
                .SSL = convertDTFromDb.ConvertBoolean(dr.Item("usaSSL"))
            End With
            Return tmpParamEmi
        Catch ex As Exception
            Throw
        Finally
            tmpParamEmi = Nothing
        End Try
    End Function

    Public Shared Function BuildParamEmiPrede(ByVal dr As MySqlDataReader) As ParametrosEmisionPredeterminadosBE
        Dim tmpParamEmiPrede As ParametrosEmisionPredeterminadosBE = New ParametrosEmisionPredeterminadosBE()
        Try
            With tmpParamEmiPrede
                '.IdParamEmiPrede = convertDTFromDb.convertInt32(dr.Item("IdParamEmiPrede"))
                '.IdParamEmi = convertDTFromDb.convertInt32(dr.Item("IdParamEmi"))
                .Emite = convertDTFromDb.convertInt32(dr.Item("Emite"))
                .UdeM = convertDTFromDb.convertInt32(dr.Item("UdeM"))
                .FormaPago = convertDTFromDb.convertInt32(dr.Item("FormaPago"))
                .MetodoPago = convertDTFromDb.convertInt32(dr.Item("MetodoPago"))
                .CondicionesPago = convertDTFromDb.ConvertString(dr.Item("CondicionesPago"))
                .TituloNumSerie = convertDTFromDb.ConvertString(dr.Item("TituloNumSerie"))
                .TituloMotivoDesc = convertDTFromDb.ConvertString(dr.Item("TituloMotivoDesc"))
                .TituloPorcDesc = convertDTFromDb.ConvertString(dr.Item("TituloPorcDesc"))
                Select Case convertDTFromDb.ConvertString(dr.Item("CambiarPassAcceso"))
                    Case "1"
                        .CambiarPassAcceso = ParametrosEmisionPredeterminadosBE.FrecuenciaCambioPwd.Mensual
                    Case "2"
                        .CambiarPassAcceso = ParametrosEmisionPredeterminadosBE.FrecuenciaCambioPwd.Bimestral
                    Case "3"
                        .CambiarPassAcceso = ParametrosEmisionPredeterminadosBE.FrecuenciaCambioPwd.Trimestral
                    Case "6"
                        .CambiarPassAcceso = ParametrosEmisionPredeterminadosBE.FrecuenciaCambioPwd.Semestral
                    Case "12"
                        .CambiarPassAcceso = ParametrosEmisionPredeterminadosBE.FrecuenciaCambioPwd.Anual
                    Case "0"
                        .CambiarPassAcceso = ParametrosEmisionPredeterminadosBE.FrecuenciaCambioPwd.No_Aplica
                End Select
                .ModificarCantCalculos = Conversiones.convertSNToBool(convertDTFromDb.ConvertString(dr.Item("ModificarCantCalculos")))
                .PersonalizacionMuni = convertDTFromDb.ConvertBoolean(dr.Item("PersonalizacionMuni"))
                .AduanaPredet = convertDTFromDb.ConvertBoolean(dr.Item("AduanaPredet"))
                .NumAduana = convertDTFromDb.ConvertString(dr.Item("NumAduana"))
                .FechaAduana = convertDTFromDb.convertDateTime(dr.Item("FechaAduana"))
                .Aduana = convertDTFromDb.ConvertString(dr.Item("Aduana"))
            End With
            Return tmpParamEmiPrede
        Catch ex As Exception
            Throw
        Finally
            tmpParamEmiPrede = Nothing
        End Try
    End Function

    Public Shared Function buildConfigDecimales(ByVal dr As MySqlDataReader) As ParametrosEmisionBE
        Dim tmpParamEmi As ParametrosEmisionBE = New ParametrosEmisionBE()
        Try
            With tmpParamEmi
                .DecimalesEnCantidades = convertDTFromDb.convertInt32(dr.Item("DecCantidades"))
                .DecimalesEnImpuestos = convertDTFromDb.convertInt32(dr.Item("DecImpuestos"))
                .DecimalesEnPrecios = convertDTFromDb.convertInt32(dr.Item("DecPrecios"))
                .DecimalesEnTotales = convertDTFromDb.convertInt32(dr.Item("DecTotales"))
            End With
            Return tmpParamEmi
        Catch ex As Exception
            Throw
        Finally
            tmpParamEmi = Nothing
        End Try
    End Function
End Class
